---@class Custom_Agent:AgentBase
Custom_Agent = class(AgentBase)

function Custom_Agent:ctor(onInitGameDataCallFunc)
    self.isAgentOver = false;
end

function Custom_Agent:InitAgentState()
    local state = State.new()
    for k, v in pairs(ECustomStateKey) do
        state:Set(v,false);
    end
    state:Set(ECustomStateKey.Idle,true);
    return state;
end

function Custom_Agent:InitDataMaps()
    return CustomMap.new(self);
end

function Custom_Agent:InitActionManager()
    return CustomAction_Mgr.new(self);
end

function Custom_Agent:InitGoalManager()
    return CustomGoal_Mgr.new(self);
end

function Custom_Agent:InitTriggerManager()
    return CustomTrigger_Mgr.new(self);
end